home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Softdisk Magazette Volume 2, No. 01 (1982-09)(Softdisk)(Side B).zip
/
Softdisk Magazette Volume 2, No. 01 (1982-09)(Softdisk)(Side B).do
/
DECISION.MAKER.bas
< prev
next >
Wrap
BASIC Source File
|
1996-12-24
|
6KB
|
120 lines
10 HOME : POKE -16298,0: POKE -16368,0: GOSUB 1000
20 REM A DECISION MAKER
30 CLEAR
40 DIM F$(10),L$(10),F(10),M(10,10),V(10),Z(10): PRINT
50 PRINT "OUT OF SEVERAL ALTERNATIVES."
60 CALL -936: PRINT
70 PRINT TAB( 3)"*** COMPUTERIZED DECISION-MAKER ***"
80 PRINT : PRINT
90 Y$ = "Y": PRINT " I CAN HELP YOU MAKE DECISIONS BY"
100 PRINT "CHOOSING THE BEST POSSIBILITY FOR YOU"
110 PRINT "OUT OF SEVERAL ALTERNATIVES."
120 PRINT
130 PRINT "ALL I NEED TO DO IS ORGANIZE INFORMATIONYOU ALREADY HAVE."
140 PRINT : PRINT " WHICH OF THESE BEST DESCRIBES THE TYPEOF DECISION YOU HAVE TO MAKE?": PRINT
150 PRINT "1-CHOOSE AN ITEM FROM SEVERAL ALTERNA- TIVES."
160 PRINT "2-CHOOSE A COURSE OF ACTION FROM SEVERAL ALTERNATIVES."
170 PRINT : INPUT "WHICH TYPE(1 OR 2) CHOICE DO YOU HAVE TOMAKE?";C
180 IF C <1 OR C >2 THEN 170
190 PRINT : IF C = 1 THEN PRINT " WHAT TYPE OF ITEM IS IT THAT YOU "
200 IF C = 1 THEN PRINT "NEED TO DECIDE UPON?": INPUT S$
210 IF C = 2 THEN S$ = "COURSE OF ACTION"
220 PRINT : PRINT "I WILL NOW NEED A LIST OF EACH ";S$
230 PRINT "THAT YOU ARE CONSIDERING. PLEASE INPUT"
240 PRINT "THEM ONE AT A TIME. THE ORDER IS"
250 PRINT "OF NO PARTICULAR IMPORTANCE.": PRINT
260 INPUT "FIRST, HOW MANY ARE THERE ALTOGETHER?";L0
270 IF L0 > = 2 AND L0 < = 10 THEN 290
280 GOSUB 970: GOTO 260
290 PRINT : FOR I = 1 TO L0: PRINT : PRINT "NUMBER ";I;", PLEASE."
300 INPUT L$(I): NEXT I: PRINT
310 PRINT "O.K., THIS IS THE LIST UNDER CONSIDERA- TION": PRINT
320 FOR I = 1 TO L0: PRINT I; TAB( 5);L$(I): NEXT I: PRINT : GOSUB 980
330 IF B$ < >Y$ THEN 220
340 PRINT : PRINT " NOW, HOW MANY DIFFERENT FACTORS ARE"
350 PRINT "IMPORTANT TO YOU IN CHOOSING A ";S$;"?": INPUT F0
360 IF F0 >1 AND F0 <10 THEN 380
370 GOSUB 970: GOTO 340
380 PRINT : PRINT " I NEED A LIST OF EACH OF THESE FACTORS "
390 FOR I = 1 TO F0: PRINT : PRINT "FACTOR NUMBER ";I: INPUT F$(I): NEXT
400 CALL -936
410 PRINT : PRINT " NOW LOOK AT THE FOLLOWING LIST OF"
420 PRINT "FACTORS YOU HAVE PROVIDED AND DECIDE"
430 PRINT "WHICH IS THE MOST IMPORTANT TO YOU:"
440 PRINT : FOR I = 1 TO F0: PRINT I; TAB( 5);F$(I): NEXT
450 PRINT : PRINT " WHICH FACTOR (BY NUMBER) IS MOST IMPORTANT?"
460 PRINT "(INPUT 0 IF YOU WISH TO CHANGE THE LIST) ": INPUT F2
470 IF F2 = 0 THEN 340
480 IF F2 <1 OR F2 >F0 THEN 450
490 PRINT : PRINT " O.K., SUPPOSE WE HAVE A SCALE OF"
500 PRINT "IMPORTANCE THAT RANGES FROM 0 TO 10."
510 PRINT "LET'S SAY ";F$(F2);" HAS A VALUE OF 10,"
520 PRINT "SINCE IT IS AT THE TOP OF THE SCALE."
530 PRINT "ON THIS SCALE, WHAT VALUE WOULD"
540 PRINT "EACH OF THE OTHER FACTORS HAVE?"
550 PRINT " (DECIMAL NUMBERS ARE O.K.)": PRINT : FOR I = 1 TO F0
560 IF I = F2 THEN 590
570 PRINT F$(I): INPUT F(I): IF F(I) >0 AND F(I) < = 10 THEN 590
580 PRINT " YOUR INPUT IS NO GOOD. TRY AGAIN!": GOTO 570
590 NEXT :F(F2) = 10:C = 0: FOR I = 1 TO F0:C = C +F(I): NEXT : FOR I = 1 TO F0
600 F(I) = F(I)/C: NEXT : PRINT : PRINT "NOW CONSIDER HOW EACH ";S$
610 PRINT "RATES WITH RESPECT TO EACH OF THE"
620 PRINT "FACTORS. WE WILL CONSIDER EACH FACTOR"
630 PRINT "SEPARATELY AND THEN RATE EACH"
640 PRINT S$;" IN TERMS OF THAT FACTOR"
650 PRINT "ONLY.": PRINT
660 PRINT "LET'S CONSIDER ";L$(1);" TO HAVE A"
670 PRINT "VALUE OF 10 ON EACH SCALE."
680 PRINT "THEN EVERY OTHER ";S$
690 PRINT "WILL BE GIVEN A NUMBER HIGHER OR LOWER"
700 PRINT "THAN 10 ACCORDING TO HOW MUCH BETTER"
710 PRINT "OR WORSE THAN ";L$(1);" YOU THINK IT IS.": FOR I = 1 TO F0: PRINT
720 PRINT
730 PRINT "CONSIDERING ";F$(I);" ONLY, AND"
740 PRINT "ASSUMING ";L$(1);" HAS A VALUE OF 10,"
750 PRINT "WHAT VALUE WOULD YOU GIVE TO EACH OF THEFOLLOWING:"
760 PRINT : FOR J = 2 TO L0
770 PRINT L$(J): INPUT M(J,I): IF M(J,I) > = 0 THEN 790
780 PRINT " C'MON, NO NEGATIVE NUMBERS! TRY AGAIN.": GOTO 770
790 NEXT J: PRINT :M(1,I) = 10: NEXT I: FOR I = 1 TO F0:C = 0: FOR J = 1 TO L0
800 C = C +M(J,I): NEXT J: FOR J = 1 TO L0:M(J,I) = M(J,I)/C: NEXT J: NEXT I
810 FOR J = 1 TO L0:V(J) = 0: FOR I = 1 TO F0:V(J) = V(J) +M(J,I) *F(I)
820 NEXT I: NEXT J: FOR I = 1 TO 10:Z(I) = I: NEXT I:C = L0 -1: FOR J = 1 TO L0
830 FOR I = 1 TO C:N1 = Z(I):N2 = Z(I +1): IF V(N1) >V(N2) THEN 850
840 Z(I +1) = N1:Z(I) = N2
850 NEXT I: NEXT J:C1 = Z(1):C2 = Z(2):C = 100/V(C1): FOR J = 1 TO L0
860 V(J) = C *V(J): NEXT : PRINT : PRINT :D = V(C1) -V(C2)
870 PRINT " WELL, YOU BEST CHOICE SEEMS TO BE "
880 PRINT L$(C1);", ";
890 IF D <10 THEN PRINT "BUT IT'S VERY CLOSE."
900 IF D <20 AND D > = 10 THEN PRINT "BY A FAIR MARGIN."
910 IF D > = 20 THEN PRINT "BY A GOOD-SIZED MARGIN."
920 PRINT : PRINT "HERE'S THE FINAL LIST WITH ";L$(C1)
930 PRINT "GIVEN A VALUE OF 100 AND THE OTHERS SET ACCORDINGLY:"
940 PRINT : PRINT : PRINT "RATING ",S$: FOR J = 1 TO L0:C = Z(J)
950 PRINT
960 PRINT V(C),L$(C): NEXT : END
970 PRINT " THE NUMBER MUST BE BETWEEN 2 AND 10": RETURN
980 INPUT " IS THIS CORRECT (YES OR NO)?";A$
990 B$ = LEFT$(A$,1): RETURN
1000 CALL -936: VTAB 5: PRINT "DECISION MAKER"
1010 PRINT : PRINT
1020 PRINT
1030 PRINT : PRINT : PRINT "HAVING A HARD TIME MAKING A DECISION?
1040 PRINT "LET YOUR APPLE HELP YOU."
1050 VTAB 21: PRINT " PRESS 'ESC' TO END"
1060 VTAB 22: PRINT "< PRESS THE SPACE BAR TO CONTINUE...>"
1070 IF PEEK( -16384) = 155 THEN 1100
1080 IF PEEK( -16384) < >160 THEN 1060
1090 POKE -16368,0: HOME : RETURN
1100 POKE -16368,0: HOME : VTAB 10: HTAB 10: PRINT "* * * THE END * * *": END
65535 REM ********************
65535 REM * *
65535 REM * CONTRIBUTED BY *
65535 REM * THE KEYSTONE *
65535 REM * APPLE CORE *
65535 REM *4644 CARLISLE PIKE*
65535 REM *MECHANICSBURG, PA*
65535 REM * 17055 *
65535 REM * *
65535 REM ********************